From ca8e790ebde18093993af321770412f2ffe744ec Mon Sep 17 00:00:00 2001 From: "awilliam@xenbuild.aw" Date: Wed, 26 Apr 2006 12:50:42 -0600 Subject: [PATCH] [IA64] remove remaining asm warnings Fix all remaining warnings generated by gas. Enforce the no gas warnings by using --fatal-warnings gas flag. Signed-off-by: Tristan Gingold --- xen/arch/ia64/Rules.mk | 4 ++-- xen/arch/ia64/linux-xen/entry.S | 1 + xen/arch/ia64/linux-xen/head.S | 2 +- xen/arch/ia64/linux-xen/unaligned.c | 2 -- xen/arch/ia64/vmx/vmx_ivt.S | 2 +- xen/arch/ia64/vmx/vmx_phy_mode.c | 9 +++++++++ xen/arch/ia64/xen/hyperprivop.S | 1 - xen/include/asm-ia64/config.h | 4 ++++ 8 files changed, 18 insertions(+), 7 deletions(-) diff --git a/xen/arch/ia64/Rules.mk b/xen/arch/ia64/Rules.mk index 073a43b456..d1a0f6ad35 100644 --- a/xen/arch/ia64/Rules.mk +++ b/xen/arch/ia64/Rules.mk @@ -9,7 +9,7 @@ ifneq ($(COMPILE_ARCH),$(TARGET_ARCH)) CROSS_COMPILE ?= /usr/local/sp_env/v2.2.5/i686/bin/ia64-unknown-linux- endif AFLAGS += -D__ASSEMBLY__ -nostdinc $(CPPFLAGS) -AFLAGS += -mconstant-gp +AFLAGS += -mconstant-gp -Wa,--fatal-warnings CPPFLAGS += -I$(BASEDIR)/include -I$(BASEDIR)/include/asm-ia64 \ -I$(BASEDIR)/include/asm-ia64/linux \ -I$(BASEDIR)/include/asm-ia64/linux-xen \ @@ -17,7 +17,7 @@ CPPFLAGS += -I$(BASEDIR)/include -I$(BASEDIR)/include/asm-ia64 \ -I$(BASEDIR)/arch/ia64/linux -I$(BASEDIR)/arch/ia64/linux-xen CFLAGS += -nostdinc -fno-builtin -fno-common -fno-strict-aliasing -CFLAGS += -mconstant-gp +CFLAGS += -mconstant-gp -Wa,--fatal-warnings #CFLAGS += -O3 # -O3 over-inlines making debugging tough! CFLAGS += -O2 # but no optimization causes compile errors! #CFLAGS += -iwithprefix include -Wall -DMONITOR_BASE=$(MONITOR_BASE) diff --git a/xen/arch/ia64/linux-xen/entry.S b/xen/arch/ia64/linux-xen/entry.S index 3ed178f55d..d1b438b9bc 100644 --- a/xen/arch/ia64/linux-xen/entry.S +++ b/xen/arch/ia64/linux-xen/entry.S @@ -899,6 +899,7 @@ GLOBAL_ENTRY(ia64_leave_kernel) #endif .work_processed_kernel: #ifdef XEN + ;; (pUStk) ssm psr.i (pUStk) br.call.sptk.many b0=process_soft_irq (pUStk) rsm psr.i diff --git a/xen/arch/ia64/linux-xen/head.S b/xen/arch/ia64/linux-xen/head.S index 9ba502e831..fbdbf47bef 100644 --- a/xen/arch/ia64/linux-xen/head.S +++ b/xen/arch/ia64/linux-xen/head.S @@ -363,8 +363,8 @@ start_ap: ;; ssm psr.ic srlz.d - ;; #endif + ;; .load_current: // load the "current" pointer (r13) and ar.k6 with the current task diff --git a/xen/arch/ia64/linux-xen/unaligned.c b/xen/arch/ia64/linux-xen/unaligned.c index c732ad5237..800dc26952 100644 --- a/xen/arch/ia64/linux-xen/unaligned.c +++ b/xen/arch/ia64/linux-xen/unaligned.c @@ -921,8 +921,6 @@ setfpreg (unsigned long regnum, struct ia64_fpreg *fpval, struct pt_regs *regs) regs->f##reg.u.bits[1] = fpval->u.bits[1] ; \ break switch(regnum) { - CASE_FIXED_FP(0); - CASE_FIXED_FP(1); CASE_FIXED_FP(2); CASE_FIXED_FP(3); CASE_FIXED_FP(4); diff --git a/xen/arch/ia64/vmx/vmx_ivt.S b/xen/arch/ia64/vmx/vmx_ivt.S index 2418fcf2f6..81b3e64636 100644 --- a/xen/arch/ia64/vmx/vmx_ivt.S +++ b/xen/arch/ia64/vmx/vmx_ivt.S @@ -379,7 +379,7 @@ END(vmx_dkey_miss) ENTRY(vmx_dirty_bit) VMX_DBG_FAULT(8) VMX_REFLECT(8) -END(vmx_idirty_bit) +END(vmx_dirty_bit) .org vmx_ia64_ivt+0x2400 ///////////////////////////////////////////////////////////////////////////////////////// diff --git a/xen/arch/ia64/vmx/vmx_phy_mode.c b/xen/arch/ia64/vmx/vmx_phy_mode.c index e8677d0174..b0c58e88c9 100644 --- a/xen/arch/ia64/vmx/vmx_phy_mode.c +++ b/xen/arch/ia64/vmx/vmx_phy_mode.c @@ -193,29 +193,38 @@ vmx_load_all_rr(VCPU *vcpu) phy_rr.ve = 1; ia64_set_rr((VRN0 << VRN_SHIFT), phy_rr.rrval); + ia64_dv_serialize_data(); phy_rr.rrval = vcpu->arch.metaphysical_rr4; //phy_rr.ps = PAGE_SHIFT; phy_rr.ve = 1; ia64_set_rr((VRN4 << VRN_SHIFT), phy_rr.rrval); + ia64_dv_serialize_data(); } else { ia64_set_rr((VRN0 << VRN_SHIFT), vrrtomrr(vcpu, VMX(vcpu, vrr[VRN0]))); + ia64_dv_serialize_data(); ia64_set_rr((VRN4 << VRN_SHIFT), vrrtomrr(vcpu, VMX(vcpu, vrr[VRN4]))); + ia64_dv_serialize_data(); } /* rr567 will be postponed to last point when resuming back to guest */ ia64_set_rr((VRN1 << VRN_SHIFT), vrrtomrr(vcpu, VMX(vcpu, vrr[VRN1]))); + ia64_dv_serialize_data(); ia64_set_rr((VRN2 << VRN_SHIFT), vrrtomrr(vcpu, VMX(vcpu, vrr[VRN2]))); + ia64_dv_serialize_data(); ia64_set_rr((VRN3 << VRN_SHIFT), vrrtomrr(vcpu, VMX(vcpu, vrr[VRN3]))); + ia64_dv_serialize_data(); ia64_set_rr((VRN5 << VRN_SHIFT), vrrtomrr(vcpu, VMX(vcpu, vrr[VRN5]))); + ia64_dv_serialize_data(); ia64_set_rr((VRN6 << VRN_SHIFT), vrrtomrr(vcpu, VMX(vcpu, vrr[VRN6]))); + ia64_dv_serialize_data(); vmx_switch_rr7(vrrtomrr(vcpu,VMX(vcpu, vrr[VRN7])), (void *)vcpu->domain->shared_info, (void *)vcpu->arch.privregs, diff --git a/xen/arch/ia64/xen/hyperprivop.S b/xen/arch/ia64/xen/hyperprivop.S index a38de12dd5..f32264b1c7 100644 --- a/xen/arch/ia64/xen/hyperprivop.S +++ b/xen/arch/ia64/xen/hyperprivop.S @@ -2087,7 +2087,6 @@ GLOBAL_ENTRY(fast_insert) (p6) itc.d r22;; (p7) itc.i r22;; dv_serialize_data - // FIXME: how do I make assembler warnings go away here? // vhpt_insert(r23=vaddr,r22=pte,r24=logps<<2) thash r28=r23 or r26=1,r22;; diff --git a/xen/include/asm-ia64/config.h b/xen/include/asm-ia64/config.h index 8371ecc4c0..b6db2f2adf 100644 --- a/xen/include/asm-ia64/config.h +++ b/xen/include/asm-ia64/config.h @@ -277,4 +277,8 @@ extern int ht_per_core; #define FORCE_CRASH break.m 0;; #endif +/* Allow .serialize.data/instruction in asm files. + Old as doesn't handle this. */ +#define HAVE_SERIALIZE_DIRECTIVE + #endif /* _IA64_CONFIG_H_ */ -- 2.30.2